package com.simulation.web.service;

import com.github.pagehelper.PageInfo;
import com.simulation.web.domain.TechTasks;
import com.simulation.web.dto.TechTaskDTO;
import com.simulation.web.vo.TechTaskVO;

/**
 * @Author 唐雄杰
 * @Date 2024-08-25 22:59
 **/
public interface TaskService {
    /**
     * 新建任务
     *
     * @param techTasks 新建任务
     * @return 返回影响行数
     */
    int createTask(TechTasks techTasks);

    /**
     * 更新任务状态
     *
     * @param id 任务ID
     * @param status 状态
     * @return 返回影响行数
     */
    int updateTaskStatus(Long id, String status);

    /**
     * 更新任务进度
     *
     * @param id 任务ID
     * @param progress 进度
     * @return 返回团队列表
     */
    int updateTaskProgress(Long id, double progress);

    /**
     * 删除任务
     *
     * @param id 任务ID
     * @return 返回团队详情
     */
    int deleteTask(Long id);

    /**
     * 根据用户查询任务
     *
     * @param techTaskDTO
     * @return 返回任务列表
     */
    PageInfo<TechTaskVO> getTasksByCreateUserId(TechTaskDTO techTaskDTO);

    /**
     * 查询任务详情
     *
     * @param id 任务ID
     * @return 返回任务详情
     */
    TechTaskVO getTaskById(Long id, String relatedType);

    PageInfo<TechTaskVO> getTasksByTeamId(TechTaskDTO techTaskDTO);
}
